import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

const routes = [
    {
        path: '/',
        name: 'home',
        component: HomeView,
        redirect: '/', // 默认显示首页仪表盘
        meta: { requiresAuth: true }, // 需要登录才能访问
        children: [
            // 首页仪表盘（对应侧边栏"首页"）
            {
                path: '',
                component: () => import('../views/DashboardView.vue'),
                meta: { title: '首页' }
            },
            // 用户管理模块（对应侧边栏"用户管理"）
            {
                path: 'user',
                component: () => import('../views/user/UserView.vue'),
                meta: { title: '用户列表' }
            },
            {
                path: 'user/group',
                component: () => import('../views/user/UserGroupView.vue'),
                meta: { title: '人群管理' }
            },
            // 店铺管理模块（对应侧边栏"店铺管理"）
            {
                path: 'shop/list',
                component: () => import('../views/shop/ShopListView.vue'),
                meta: { title: '店铺列表' }
            },
            {
                path: 'shop/qrcode',
                component: () => import('../views/shop/ShopQrcodeView.vue'),
                meta: { title: '二维码管理' }
            },
            // 👇 新增：添加"新增商家"页面的路由
            {
                path: 'shop/create', // 路径要和跳转时的路径一致
                component: () => import('../views/shop/ShopCreateView.vue'), // 对应你的新增页面组件
                meta: { title: '新增商家' } // 页面标题（可选）
            },
            // 内容管理模块（对应侧边栏"内容管理"）
            {
                path: 'content/category',
                component: () => import('../views/content/ContentCategoryView.vue'),
                meta: { title: '文章分类' }
            },
            {
                path: 'content/list',
                component: () => import('../views/content/ContentListView.vue'),
                meta: { title: '文章列表' }
            },
            // 营销管理模块（对应侧边栏"营销管理"）
            {
                path: 'marketing/activity',
                component: () => import('../views/marketing/MarketingActivityView.vue'),
                meta: { title: '活动管理' }
            },
            {
                path: 'marketing/coupon',
                component: () => import('../views/marketing/MarketingCouponView.vue'),
                meta: { title: '优惠券管理' }
            }
        ]
    },
    // 登录页
    {
        path: '/login',
        component: () => import('../views/LoginView.vue'),
        meta: { requiresAuth: false } // 无需登录即可访问
    },
    // 404页面（匹配未定义路由）
    {
        path: '/:pathMatch(.*)*',
        component: () => import('../views/NotFoundView.vue'),
        meta: { title: '页面不存在' }
    }
]

const router = createRouter({
    history: createWebHistory(process.env.BASE_URL),
    routes,
    // 路由切换时自动滚动到顶部
    scrollBehavior() {
        return { top: 0 }
    }
})

// 路由守卫：验证登录状态
router.beforeEach((to, from, next) => {
    // 已登录用户访问登录页时跳转到首页
    if (to.path === '/login' && localStorage.getItem('user')) {
        next('/')
    }
    // 未登录用户访问受保护路由时跳转到登录页
    else if (to.meta.requiresAuth && !localStorage.getItem('user')) {
        next('/login')
    }
    // 正常跳转
    else {
        next()
    }
})

export default router